// pages/game/realNameAuth/realNameAuth.js
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    form: {
      name: '',
      id: '',
      backImage: '', //身份证背面图片
      frontImage: '', //身份证前面图片
    },
    fileListfrontImage: [],
    fileListbackImage: [],
    api: '', //上传地址
  },
  isCardNo(card) {
    // 身份证号码为15位或者18位，15位时全为数字，18位前17位为数字，最后一位是校验位，可能为数字或字符X 
    var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    if (reg.test(card) === false) {
      return false;
    } else {
      return true
    }
  },
  // postSubmit  提交审核  
  postSubmit() {

    if (!!!this.data.form.name || !!!this.data.form.id || !!!this.data.form.backImage || !!!this.data.form.frontImage) {
      wx.showToast({
        title: '提交参数不全',
        icon: "none"
      })
    } else if(this.isCardNo(this.data.form.id)==false){
      wx.showToast({
        title: '身份证格式错误',
        icon: "none"
      })
    } else {
      var form = this.data.form
      // console.log(form)
      var postObj = {
        url: '/user/realNameAuth/submits',
        method: 'POST',
        data: {
          token: wx.getStorageSync('token'),
          userId: wx.getStorageSync('userId'),
          realName: form.name, //	是	string	真实姓名
          idCardNum: form.id, //	是	string	身份证号码
          idCardFront: form.frontImage, //	是	string	身份证正面图片，文件流转为字节数组后经base64加密的字符串
          idCardBack: form.backImage, //	是	string	身份证背面图片，文件流转为字节数组后经base64加密的字符串
        }
      }
      app.request.noLoginRequest(postObj).then(res => {
        console.log('postSubmit', res)
        wx.showToast({
          title: '提交成功',
          icon: "success",
          success: () => {
            setTimeout(() => {
              wx.switchTab({
                url: '/pages/my/my',
              })
            }, 1500)
          }
        })
      }).catch(err => {
        // console.log('获取个人数据', err)
      })
    }


  },
  // 上传前校验
  beforeRead(event) {
    const {
      file,
      callback
    } = event.detail;
    callback(file.type === 'image');
  },
  // 删除 身份证 前面
  deleteReadfrontImage() {
    this.setData({
      fileListfrontImage: [],
      'form.frontImage': ''
    })
  },
  // 删除 身份证 背面
  deleteReadbackImage() {
    this.setData({
      fileListbackImage: [],
      'form.backImage': ''
    })
  },
  // 上传后校验    身份证 前面
  afterReadfrontImage(event) {
    let that = this
    const {
      file
    } = event.detail;
    console.log(file);
    console.log(this.data.fileListfrontImage);
    wx.uploadFile({
      url: that.data.api, // 仅为示例，非真实的接口地址
      filePath: file.url,
      name: 'file',
      formData: {
        // user: 'test'
        file: file
      },
      success(res) {
        console.log('上传完成', res);
        var data = JSON.parse(res.data)
        console.log('data', data)
        // 上传完成需要更新 fileList
        // var data = JSON.parse(res.data)
        // console.log('图片上传服务器返回值', data)
        var fileList = []
        fileList.push({
          url: data.data,
          name: data.data
        })
        that.setData({
          fileListfrontImage: fileList,
          'form.frontImage': data.data
        });
      },
    });

  },
  // 上传后校验    身份证 背面
  afterReadbackImage(event) {
    let that = this
    const {
      file
    } = event.detail;
    console.log(file);
    console.log(this.data.fileListfrontImage);
    wx.uploadFile({
      url: that.data.api, // 仅为示例，非真实的接口地址
      filePath: file.url,
      name: 'file',
      formData: {
        // user: 'test'
        file: file
      },
      success(res) {
        console.log('上传完成', res);
        var data = JSON.parse(res.data)
        console.log('data', data)
        // 上传完成需要更新 fileList
        // var data = JSON.parse(res.data)
        // console.log('图片上传服务器返回值', data)
        var fileList = []
        fileList.push({
          url: data.data,
          name: data.data
        })
        that.setData({
          fileListbackImage: fileList,
          'form.backImage': data.data
        });
      },
      fail(err){
        console.log(err);
        
      }
    });

  },
  //监听值变化
  onChange(e) {
    console.log(e)
    var formName = e.target.dataset.prop
    var name = `form.${formName}`;
    this.setData({
      [name]: e.detail
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var before = app.util.config().api
    var after = '/shortVideo/resource/upload'
    var api = before + after
    // console.log(api)
    this.setData({
      api: api
    })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})